<?php

class RegistroVotos_model extends CI_Model{
	public function __construct()
	{
		parent::__construct();
	}
	
	public function insertRegistro($mesa,$candidato,$testigo,$usuario,$tipo_usuario,$votos1,$votos2) {
		
		$sql_valid="SELECT CODIGO FROM REGISTROVOTOS WHERE CODIGOMESA=".$mesa." AND CODIGOCANDIDATO=".$candidato;
		$query_valid=$this->db->query($sql_valid);
		if($query_valid->num_rows()>0){
			$ope=1;
		}else{
			$ope=2;
		}
		
		if($tipo_usuario==3) {
			$fecha="SYSDATE";
			$testigo1=$testigo;
			if($ope==2){
				$sql="INSERT INTO REGISTROVOTOS (CODIGO,CODIGOMESA,CODIGOCANDIDATO,CODIGOVALIDADOR,CANTIDADVALIDADOR,FECHAVALIDADOR,ESTADO) VALUES(S_REGISTROSVOTOS.nextVal,".$mesa.",".$candidato.",".$usuario.",".$votos2.",".$fecha.",'A')";
			}else{
				$sql="UPDATE REGISTROVOTOS SET CODIGOVALIDADOR=".$usuario.", CANTIDADVALIDADOR=".$votos2.", FECHAVALIDADOR=".$fecha." WHERE CODIGOMESA=".$mesa." AND CODIGOCANDIDATO=".$candidato;
			}
		}
		
		if($tipo_usuario==2) {
			$fecha="SYSDATE";
			if($ope==2){
				$sql="INSERT INTO REGISTROVOTOS (CODIGO,CODIGOMESA,CODIGOCANDIDATO,CODIGOTESTIGO,CANTIDADTESTIGO,FECHATESTIGO,USUARIO,ESTADO) VALUES(S_REGISTROSVOTOS.nextVal,".$mesa.",".$candidato.",".$testigo.",".$votos1.",".$fecha.",".$usuario.",'A')";
				
			}else{
				$sql="UPDATE REGISTROVOTOS SET CODIGOTESTIGO=".$testigo.", CANTIDADTESTIGO=".$votos1.", FECHATESTIGO=".$fecha.", USUARIO=".$usuario." WHERE CODIGOMESA=".$mesa." AND CODIGOCANDIDATO=".$candidato;
			}
		}
		
		if($tipo_usuario==1) {
			$fecha="SYSDATE";
			if($ope==1){
				$sql="UPDATE REGISTROVOTOS SET CANTIDADVALIDADOR=".$votos2.", CANTIDADTESTIGO=".$votos1.", USUARIO=".$usuario." WHERE CODIGOMESA=".$mesa." AND CODIGOCANDIDATO=".$candidato;
			}
		}
		$this->db->query($sql);
		return 1;
	}
	
	public function departamentos($estado='SI'){
		if($estado=='SI')
		{
		$sql="SELECT CODIGO,NOMBRE FROM DEPARTAMENTOS WHERE ACTIVO ='".$estado."' ORDER BY NOMBRE ASC";
		$query=$this->db->query($sql);
		}else
		{
			$sql="SELECT CODIGO,NOMBRE FROM DEPARTAMENTOS ORDER BY NOMBRE ASC";
			$query=$this->db->query($sql);
		}
		if($query->num_rows()>0){
			$ret=array();
			foreach($query->result_array() as $row){
				$ret[$row['CODIGO']]=$row['NOMBRE'];
			}
			return $ret;
		}else{
			return false;
		}
		
	}
	
	public function municipios($departamento,$estado='SI')
	{
		if($estado=='SI')
		{
		$sql="SELECT CODIGO,NOMBRE FROM MUNICIPIOS WHERE CODIGODEPARTAMENTO=".$departamento." AND ACTIVO ='".$estado."' ORDER BY NOMBRE ASC";
		$query=$this->db->query($sql);
		}else{
			$sql="SELECT CODIGO,NOMBRE FROM MUNICIPIOS WHERE CODIGODEPARTAMENTO=".$departamento." ORDER BY NOMBRE ASC";
			$query=$this->db->query($sql);
		}
		if($query->num_rows()>0){
			$ret=array();
			foreach($query->result_array() as $row){
				$ret[$row['CODIGO']]=$row['NOMBRE'];
			}
			return $ret;
		}else{
			return false;
		}
	}
	
	public function zonas($municipio)
	{
		$sql="SELECT CODIGO,NOMBRE FROM ZONAS WHERE CODIGOMUNICIPIO=".$municipio."";
		$query=$this->db->query($sql);
		if($query->num_rows()>0){
			$ret=array();
			foreach($query->result_array() as $row){
				$ret[$row['CODIGO']]=$row['NOMBRE'];
			}
			return $ret;
		}else{
			return false;
		}
	}
	

	public function puestos($busqueda,$zona)
	{
		$sql="SELECT CODIGO, NOMBRE, DIRECCION
				FROM PUESTOS
				WHERE CODIGOZONA=".$zona." AND (TO_CHAR (CODIGO) LIKE '%".$busqueda."%'
					OR UPPER (NOMBRE) LIKE '%".strtoupper($busqueda)."%'
					OR UPPER (DIRECCION) LIKE '%".strtoupper($busqueda)."%') ORDER BY NOMBRE";
		$query=$this->db->query($sql);
		if($query->num_rows()>0){
			$ret=array();
			foreach($query->result_array() as $row){
				$ret[]=array("value"=>$row['CODIGO'],"label"=>$row['CODIGO'].'- '.$row['NOMBRE'].' | '.$row['DIRECCION']);
			}
			return $ret;
		}else{
			return false;
		}
	}
	
	public function mesas($puesto)
	{
		$sql="SELECT CODIGO,NOMBRE FROM MESAS WHERE CODIGOPUESTO=".$puesto." ORDER BY CODIGO";
		$query=$this->db->query($sql);
		if($query->num_rows()>0){
			$ret=array();
			foreach($query->result_array() as $row){
				$n=explode('A',$row['NOMBRE']);
				$ret[$row['CODIGO']]=$n[1].' '.$row['NOMBRE'];
			}
			return $ret;
		}else{
			return false;
		}
	}
	
	public function candidatos()
	{
		$sql="SELECT CODIGO,NOMBRE FROM CANDIDATOS ORDER BY CODIGOASPIRACION, CODIGO ASC";
		$query=$this->db->query($sql);
		if($query->num_rows()>0){
			$ret=array();
			foreach($query->result_array() as $row){
				$ret[$row['CODIGO']]=$row['NOMBRE'];
			}
			return $ret;
		}else{
			return false;
		}
	}
	
	public function testigos($testigo)
	{
		$sql="SELECT a.codigopersona, b.nombre || ' ' || B.APELLIDOS NOMBRE
  FROM testigos a JOIN personas b ON a.codigopersona = b.codigo
  where upper(b.nombre)like '%".strtoupper($testigo)."%' or to_char(a.codigopersona) like '%".strtoupper($testigo)."%' or upper(b.apellidos)like '%".strtoupper($testigo)."%'";
		$query=$this->db->query($sql);
		if($query->num_rows()>0){
			$ret=array();
			foreach($query->result_array() as $row){
				$ret[]=array("value"=>$row['CODIGOPERSONA'],"label"=>$row['CODIGOPERSONA'].' - '.$row['NOMBRE']);
			}
			return $ret;
		}else{
			return 0;
		}
	}
	
	public function validadores()
	{
		$sql="SELECT a.CODIGOPERSONA,b.NOMBRE FROM USUARIOS a JOIN PERSONAS b ON a.CODIGOPERSONA=b.CODIGO WHERE a.CODIGOPERFIL=3";
		$query=$this->db->query($sql);
		if($query->num_rows()>0){
			$ret=array();
			foreach($query->result_array() as $row){
				$ret[$row['CODIGOPERSONA']]=$row['NOMBRE'];
			}
			return $ret;
		}else{
			return false;
		}
	}
	
	public function numvotos($mesa,$candidato){
		$sql="SELECT CANTIDADTESTIGO,CANTIDADVALIDADOR,CODIGOTESTIGO FROM REGISTROVOTOS WHERE CODIGOMESA=".$mesa." AND CODIGOCANDIDATO=".$candidato;
		$query=$this->db->query($sql);
		$ret=array();
		if($query->num_rows()>0){
			foreach($query->result_array() as $row){
				$ret['testigo']=$row['CANTIDADTESTIGO'];
				$ret['validador']=$row['CANTIDADVALIDADOR'];
				$ret['ntestigo']=$row['CODIGOTESTIGO'];
			}
		}else{
			$ret['testigo']=0;
			$ret['validador']=0;
		}
		return $ret;
	}
	

}